package com.cnap.multiclouldmgmt.model.vmScale;

import java.util.Date;

public class ScaleGroupPolicy {
    //伸缩组id
    private String id;
    //集群名称
    private String clusterName;

    //云资源名称
    private String provider;

    //node标签，AI or BIGDATA
    private String label;
    //系统镜像
    private String systemImage;

    //用户名称
    private String userName;

    //移除策略.LIFO，FIFO
    private String deletePolicy;

    //最大vm数
    private int maxNum;

    //最小vm数
    private int minNum;

    //状态:状态，初始：0，已启用：1，已停用：2
    private int status;

    //持续分钟
    private int duration;

    //持续超过阈值次数
   private int continuousNum;

   //冷却时间（单位：s）
    private  int coolTime;

    //伸缩动作,max指扩容，min指缩容
    private String type;

    //扩缩容数量
    private int num;

    //group id
    private String groupId;

    //group name
    private String groupName;

    //资源类型，如cpu或者memory
    private String resource;

    //阈值，一般指百分之多少
    private int value;

    //云资源id
    private String cloudResourceIds;

    //触发条件
    private String param;

    private Date updateTime;

    /**
     * get
     *
     * @return Id
     */
    public String getId() {
        return id;
    }

    /**
     * set
     *
     * @param id id
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * get
     *
     * @return ClusterName
     */
    public String getClusterName() {
        return clusterName;
    }

    /**
     * set
     *
     * @param clusterName clusterName
     */
    public void setClusterName(String clusterName) {
        this.clusterName = clusterName;
    }

    /**
     * get
     *
     * @return Provider
     */
    public String getProvider() {
        return provider;
    }

    /**
     * set
     *
     * @param provider provider
     */
    public void setProvider(String provider) {
        this.provider = provider;
    }

    /**
     * get
     *
     * @return Label
     */
    public String getLabel() {
        return label;
    }

    /**
     * set
     *
     * @param label label
     */
    public void setLabel(String label) {
        this.label = label;
    }

    /**
     * get
     *
     * @return SystemImage
     */
    public String getSystemImage() {
        return systemImage;
    }

    /**
     * set
     *
     * @param systemImage systemImage
     */
    public void setSystemImage(String systemImage) {
        this.systemImage = systemImage;
    }

    /**
     * get
     *
     * @return UserName
     */
    public String getUserName() {
        return userName;
    }

    /**
     * set
     *
     * @param userName userName
     */
    public void setUserName(String userName) {
        this.userName = userName;
    }

    /**
     * get
     *
     * @return DeletePolicy
     */
    public String getDeletePolicy() {
        return deletePolicy;
    }

    /**
     * set
     *
     * @param deletePolicy deletePolicy
     */
    public void setDeletePolicy(String deletePolicy) {
        this.deletePolicy = deletePolicy;
    }

    /**
     * get
     *
     * @return MaxNum
     */
    public int getMaxNum() {
        return maxNum;
    }

    /**
     * set
     *
     * @param maxNum maxNum
     */
    public void setMaxNum(int maxNum) {
        this.maxNum = maxNum;
    }

    /**
     * get
     *
     * @return MinNum
     */
    public int getMinNum() {
        return minNum;
    }

    /**
     * set
     *
     * @param minNum minNum
     */
    public void setMinNum(int minNum) {
        this.minNum = minNum;
    }

    /**
     * get
     *
     * @return Status
     */
    public int getStatus() {
        return status;
    }

    /**
     * set
     *
     * @param status status
     */
    public void setStatus(int status) {
        this.status = status;
    }

    /**
     * get
     *
     * @return Duration
     */
    public int getDuration() {
        return duration;
    }

    /**
     * set
     *
     * @param duration duration
     */
    public void setDuration(int duration) {
        this.duration = duration;
    }

    /**
     * get
     *
     * @return ContinuousNum
     */
    public int getContinuousNum() {
        return continuousNum;
    }

    /**
     * set
     *
     * @param continuousNum continuousNum
     */
    public void setContinuousNum(int continuousNum) {
        this.continuousNum = continuousNum;
    }

    /**
     * get
     *
     * @return CoolTime
     */
    public int getCoolTime() {
        return coolTime;
    }

    /**
     * set
     *
     * @param coolTime coolTime
     */
    public void setCoolTime(int coolTime) {
        this.coolTime = coolTime;
    }

    /**
     * get
     *
     * @return Type
     */
    public String getType() {
        return type;
    }

    /**
     * set
     *
     * @param type type
     */
    public void setType(String type) {
        this.type = type;
    }

    /**
     * get
     *
     * @return Num
     */
    public int getNum() {
        return num;
    }

    /**
     * set
     *
     * @param num num
     */
    public void setNum(int num) {
        this.num = num;
    }

    /**
     * get
     *
     * @return GroupId
     */
    public String getGroupId() {
        return groupId;
    }

    /**
     * set
     *
     * @param groupId groupId
     */
    public void setGroupId(String groupId) {
        this.groupId = groupId;
    }

    /**
     * get
     *
     * @return GroupName
     */
    public String getGroupName() {
        return groupName;
    }

    /**
     * set
     *
     * @param groupName groupName
     */
    public void setGroupName(String groupName) {
        this.groupName = groupName;
    }

    /**
     * get
     *
     * @return Resource
     */
    public String getResource() {
        return resource;
    }

    /**
     * set
     *
     * @param resource resource
     */
    public void setResource(String resource) {
        this.resource = resource;
    }

    /**
     * get
     *
     * @return Value
     */
    public int getValue() {
        return value;
    }

    /**
     * set
     *
     * @param value value
     */
    public void setValue(int value) {
        this.value = value;
    }

    /**
     * get
     *
     * @return CloudResourceIds
     */
    public String getCloudResourceIds() {
        return cloudResourceIds;
    }

    /**
     * set
     *
     * @param cloudResourceIds cloudResourceIds
     */
    public void setCloudResourceIds(String cloudResourceIds) {
        this.cloudResourceIds = cloudResourceIds;
    }

    /**
     * get
     *
     * @return Param
     */
    public String getParam() {
        return param;
    }

    /**
     * set
     *
     * @param param param
     */
    public void setParam(String param) {
        this.param = param;
    }

    /**
     * get
     *
     * @return UpdateTime
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * set
     *
     * @param updateTime updateTime
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
}
